<?php

	$codigo_html = "";


	$referencias = "";
	$referencias .= "<a href='#abajo' id='reconstruir_escala'>" . $presentacion->image("reconstruir_escala.gif") . "</a>";
	$referencias .= $form->input("Mapa.colores", array("id"=>"colores", "type"=>"hidden", "value"=>implode("|", $colores)));
	$referencias .= "<br/>";
	foreach($rangos as $k=>$rango) {
		$js[] = '
		parametroCheck = document.getElementById("checkbox_' . $colores[$k] . '");
		if(parametroCheck.value.length > 0) {
			href = href + "/Rango' . $colores[$k] . ':" + parametroCheck.checked;
			
			parametro = document.getElementById("rangoInferior_' . $colores[$k] . '");
			rangoInf = parametro.value;
			href = href + "/RangoInferior' . $colores[$k] . ':" + rangoInf;
		
			parametro = document.getElementById("rangoSuperior_' . $colores[$k] . '");
			rangoSup = parametro.value;
			href = href + "/RangoSuperior' . $colores[$k] . ':" + rangoSup;
			if(parametroCheck.checked) {
				rangos.push(rangoInf);
				rangos.push(rangoSup);
			}
		}
		';
		
		$referencias .= $form->input("Mapa.rango" . $k, array("id"=>"checkbox_" . $colores[$k], "div"=>false, "type"=>"checkbox", "label"=>false, "class"=>"checkbox", "checked"=>$this->data['Mapa']['rango' . $colores[$k]]));
		$referencias .= $presentacion->image("marcadores/" . $colores[$k] . ".png");
		$referencias .= $form->input("Mapa." . $colores[$k], array("id"=>"rangoInferior_" . $colores[$k], "div"=>false, "label"=>false, "style"=>"width:40px", "value"=>$formato->formatearNumero($rango['min'])));
		$referencias .= " - ";
		$referencias .= $form->input("Mapa." . $colores[$k], array("id"=>"rangoSuperior_" . $colores[$k], "div"=>false, "label"=>false, "style"=>"width:40px", "value"=>$formato->formatearNumero($rango['max'])));
		$referencias .= "<br/>";
		$rangosTmp[] = $formato->formatearNumero($rango['min']);
		$rangosTmp[] = $formato->formatearNumero($rango['max']);
	}
	
	$referencias .= $form->input("Mapa.rangos_prefijados", array("type"=>"hidden", "id"=>"rangos_prefijados","value"=>$formato->formatearNumero($rangos[0]['min']) . "|" . implode("|", $rangosTmp) . "|" . $formato->formatearNumero($rangos[$k]['max'])));
	$referencias .= "<br/>";
	$referencias .= "<u>Correcion:</u>";
	$referencias .= "<br/>";
	$referencias .= "<br/>";
	$referencias .= $form->input("Mapa.correccionLat" . $colores[$k], array("id"=>"CorreccionLat", "div"=>false, "label"=>"Lat:", "style"=>"margin-left:6px;width:180px", "value"=>$this->data['Mapa']['correccionLat']));
	$referencias .= $form->input("Mapa.CorreccionLatHidden" . $colores[$k], array("id"=>"CorreccionLatHidden", "type"=>"hidden"));
	$referencias .= "<br/>";
	$referencias .= $form->input("Mapa.correccionLon" . $colores[$k], array("id"=>"CorreccionLon", "div"=>false, "label"=>"Lon:", "style"=>"margin-left:4px;width:180px", "value"=>$this->data['Mapa']['correccionLon']));
	$referencias .= $form->input("Mapa.CorreccionLonHidden" . $colores[$k], array("id"=>"CorreccionLonHidden", "type"=>"hidden"));
	$referencias .= "<br/>";
	$referencias .= "<br/>";
	$referencias .= "<a href='#abajo' id='redibujar'>" . $presentacion->image("re_dibujar.gif") . "</a>";
	$referencias .= "<br/>";
	$referencias .= "<br/>";
	if(!empty($info[0]['Dato']['id'])) {
		$referencias .= "<u>Informacion:</u>";
		$referencias .= "<br/>";
		$datoAnt = $info[0]['Dato']['id'];
		foreach($info as $i) {
			if($datoAnt == $i['Dato']['id']) {
				$referencias .= "<br />".$i['Parametro']['nombre'].": " . $i['DetalleDato']['valor'];
			}
			else {
				break;
			}
		}
	}
	$referencias = str_replace("\"", "\'", $referencias);
	$referencias = str_replace(" />", "/>", $referencias);
	
	$codigo_html .= "\n" . $javascript->codeblock('

		function asignarFiltros (id, link){

			if(link != undefined) {
				var href = link;
				parametro = document.getElementById("CorreccionLat");
				if(parametro.value.length > 0) {
					href = href + "/CorreccionLat:" + parametro.value;
				}
				parametro = document.getElementById("CorreccionLon");
				if(parametro.value.length > 0) {
					href = href + "/CorreccionLon:" + parametro.value;
				}

				' . implode("\n", $js) . '
			}
			else {
			// debo hacer asi por que ie no toma a this, no se por que..
				var href = document.getElementById(id).href;
			}
			var parametro = document.getElementById("parametro");
			href = href + "/parametro:" + parametro.value;

			parametro = document.getElementById("precision");
			href = href + "/precision:" + parametro.value;

			parametro = document.getElementById("FiltroDato-fechaHoraDesde");
			if(parametro.value.length > 0) {
				parametro.value.split("/").join("-");
				href = href + "/fechaDesde:" + parametro.value.split("/").join("-").split(":").join("|");
			}
			parametro = document.getElementById("FiltroDato-fechaHoraHasta");
			if(parametro.value.length > 0) {
				parametro.value.split("/").join("-");
				href = href + "/fechaHasta:" + parametro.value.split("/").join("-").split(":").join("|");
			}
			return href;
		}

		var rangos = new Array();
		inicio(' . $centro['A'] . ',' . $centro['B'] . ', "' . $referencias . '", "' . $archivo . '");

		Event.observe("reconstruir_escala", "click",
			function(event) {
				colores = document.getElementById("colores").value.split("|");
				rangos_prefijados = document.getElementById("rangos_prefijados").value.split("|");
				for(var i=1; i<colores.length; i++) {
					document.getElementById("checkbox_" + colores[i]).checked = true;
					document.getElementById("rangoInferior_" + colores[i]).value = rangos_prefijados[i * 2];
					document.getElementById("rangoSuperior_" + colores[i]).value = rangos_prefijados[(i * 2) + 2];
				}
			}, false);
	
		Event.observe("redibujar", "click",
			function(event) {
					rangos = Array()
					var f = asignarFiltros("", document.getElementById("link").value) + "/layout:ajax";
					rangos_prefijados = document.getElementById("rangos_prefijados").value.split("|");
					rangos.push(rangos_prefijados[0]);
					rangos.push(rangos_prefijados[rangos_prefijados.length-1]);
					rangos.sort();
	
					var error = false;
					for(var i=1; i<rangos.length; i=i+2) {
						if(parseFloat(rangos[i-1]) != parseFloat(rangos[i])) {
							error = true;
							break;
						}
					}
					
					if (!error || (error && confirm("Pueden quedar puntos fuera del rango seleccionado. Desea continuar?"))) {
						new Ajax.Updater("map", f, {
							asynchronous:true,
							evalScripts:true,
							requestHeaders:["X-Update", "map"]
						});
					}

				}, false);
	');
	
//$codigo_html .= "\n" . $javascript->codeblock('inicio();');
echo $codigo_html;

?>